home *** CD-ROM | disk | FTP | other *** search
- #define YY_DEFAULT_ACTION ECHO;
- #define FLEX_USE_ECS
- #define FLEX_USE_MECS
- /* A lexical scanner generated by flex */
-
- #include "skeleton.h"
-
- #define INITIAL 0
- /* lex.l */
- /* Copyright (C) 1989, 1991, Craig E. Kolb */
- /* All rights reserved. */
- /* */
- /* This software may be freely copied, modified, and redistributed, */
- /* provided that this copyright notice is preserved on all copies. */
- /* */
- /* You may not distribute this software, in whole or in part, as part of */
- /* any commercial product without the express consent of the authors. */
- /* */
- /* There is no warranty or other guarantee of fitness of this software */
- /* for any purpose. It is provided solely "as is". */
- /* $Id: lex.l,v 4.0.1.1 91/11/26 21:12:29 cek Exp Locker: cek $ */
- #include "config.h"
- #include <stdio.h>
- #ifdef I_STRING
- #include <string.h>
- #else
- #include <strings.h>
- #endif
- #include "common.h"
- #include "yacc_tab.h"
- #define YY_JAM 299
- #define YY_JAM_BASE 601
- #define YY_TEMPLATE 300
- static char l[300] =
- { 0,
- -2, -2, 62, 1, 2, 3, 62, 62, 57, 58,
- 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
- 57, 57, 57, 57, 57, 57, 57, 57, 57, 4,
- 0, 58, 60, 5, 57, 59, 0, 57, 57, 57,
- 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
- 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
- 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
- 57, 57, 57, 57, 55, 57, 0, 59, 0, 0,
- 61, 57, 57, 57, 57, 10, 57, 57, 57, 57,
- 57, 57, 57, 57, 57, 57, 23, 57, 26, 27,
-
- 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
- 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
- 57, 57, 57, 57, 57, 57, 57, 0, 60, 0,
- 0, 59, 57, 57, 57, 57, 11, 57, 13, 57,
- 57, 57, 57, 57, 57, 57, 57, 22, 57, 57,
- 57, 29, 57, 57, 57, 33, 57, 57, 57, 37,
- 57, 57, 57, 57, 42, 57, 57, 57, 57, 57,
- 57, 57, 57, 57, 57, 57, 56, 0, 59, 57,
- 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
- 57, 57, 57, 57, 28, 57, 57, 32, 34, 57,
-
- 57, 57, 57, 40, 41, 57, 57, 57, 46, 57,
- 57, 57, 57, 57, 57, 57, 57, 57, 57, 9,
- 57, 57, 15, 57, 17, 18, 57, 57, 57, 57,
- 57, 57, 57, 35, 57, 38, 57, 57, 44, 57,
- 47, 48, 49, 57, 57, 57, 57, 57, 57, 57,
- 57, 12, 57, 57, 57, 20, 57, 24, 57, 57,
- 57, 57, 39, 57, 45, 50, 51, 57, 57, 57,
- 6, 7, 57, 14, 16, 57, 21, 57, 57, 31,
- 36, 57, 57, 57, 54, 57, 57, 25, 57, 57,
- 52, 53, 8, 57, 57, 43, 19, 30, 0
-
- } ;
-
- static char e[128] =
- { 0,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 4, 1, 1, 5, 1, 1, 1, 1, 1,
- 1, 6, 7, 1, 8, 9, 10, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 1, 1, 1,
- 1, 1, 1, 1, 12, 12, 12, 12, 13, 12,
- 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
- 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
- 1, 1, 1, 1, 14, 1, 15, 16, 17, 18,
-
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 12, 1, 1, 1, 1, 1
- } ;
-
- static char m[40] =
- { 0,
- 1, 1, 1, 1, 1, 2, 1, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2
- } ;
-
- static short int b[301] =
- { 0,
- 0, 596, 601, 601, 601, 601, 31, 589, 593, 32,
- 592, 38, 40, 41, 42, 43, 44, 46, 48, 51,
- 56, 71, 77, 58, 82, 83, 84, 85, 90, 601,
- 586, 86, 91, 601, 590, 95, 113, 111, 103, 117,
- 101, 119, 121, 122, 123, 125, 126, 127, 129, 131,
- 130, 134, 133, 137, 136, 132, 139, 138, 150, 140,
- 144, 157, 160, 161, 162, 168, 164, 169, 172, 173,
- 174, 179, 175, 183, 589, 181, 193, 201, 208, 583,
- 582, 187, 186, 196, 201, 586, 202, 216, 217, 218,
- 219, 220, 221, 224, 222, 223, 232, 231, 585, 584,
-
- 225, 239, 228, 244, 246, 248, 249, 250, 253, 254,
- 256, 257, 255, 258, 53, 261, 264, 259, 266, 274,
- 275, 278, 267, 270, 263, 290, 289, 578, 577, 291,
- 576, 575, 279, 294, 295, 297, 579, 300, 578, 302,
- 303, 304, 305, 309, 312, 313, 311, 577, 306, 314,
- 315, 576, 316, 324, 318, 575, 320, 321, 325, 574,
- 329, 336, 339, 343, 573, 345, 347, 348, 349, 350,
- 351, 354, 355, 356, 357, 359, 572, 566, 565, 361,
- 358, 360, 366, 370, 367, 374, 379, 389, 390, 369,
- 372, 393, 373, 395, 569, 396, 399, 568, 567, 398,
-
- 402, 400, 409, 566, 565, 404, 406, 408, 564, 410,
- 414, 412, 420, 413, 416, 423, 415, 417, 418, 563,
- 422, 434, 562, 440, 561, 560, 435, 442, 444, 446,
- 447, 449, 454, 559, 450, 558, 456, 451, 557, 458,
- 556, 555, 554, 459, 460, 465, 462, 466, 468, 474,
- 475, 553, 477, 476, 480, 552, 482, 551, 483, 484,
- 495, 490, 550, 491, 549, 548, 546, 489, 492, 496,
- 545, 543, 497, 542, 541, 499, 540, 498, 500, 539,
- 537, 493, 511, 512, 535, 517, 514, 534, 518, 522,
- 533, 531, 530, 527, 524, 528, 180, 52, 601, 51
-
- } ;
-
- static short int d[301] =
- { 0,
- 299, 1, 299, 299, 299, 299, 299, 299, 300, 299,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 299,
- 299, 299, 299, 299, 300, 299, 299, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 299, 299, 299, 299,
- 299, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
-
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 299, 299, 299,
- 299, 299, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 299, 299, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
-
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300,-32767, 299
-
- } ;
-
- static short int n[641] =
- { 0,
- 3, 4, 5, 6, 3, 3, 7, 7, 8, 9,
- 10, 11, 11, 3, 12, 13, 14, 15, 16, 17,
- 18, 19, 11, 20, 11, 21, 22, 11, 23, 24,
- 11, 25, 26, 27, 28, 11, 29, 11, 11, 31,
- 36, 32, 32, 299, 37, 299, 299, 299, 299, 299,
- 37, 299, 35, 299, 40, 38, 299, 299, 299, 53,
- 48, 299, 44, 299, 49, 41, 57, 39, 42, 45,
- 50, 55, 54, 58, 43, 46, 299, 56, 59, 47,
- 51, 52, 299, 65, 60, 61, 66, 299, 299, 299,
- 299, 165, 63, 62, 36, 299, 32, 69, 37, 70,
-
- 67, 33, 73, 77, 37, 78, 299, 79, 299, 77,
- 68, 64, 71, 79, 75, 74, 299, 72, 76, 80,
- 80, 83, 299, 81, 299, 82, 299, 299, 299, 85,
- 299, 299, 299, 84, 299, 299, 299, 299, 299, 299,
- 88, 299, 299, 299, 299, 299, 92, 87, 94, 299,
- 89, 91, 96, 98, 102, 299, 86, 99, 90, 97,
- 93, 103, 299, 95, 101, 299, 299, 299, 107, 299,
- 105, 104, 100, 299, 299, 108, 113, 299, 299, 299,
- 299, 109, 106, 111, 299, 299, 299, 119, 299, 110,
- 114, 299, 299, 115, 112, 121, 116, 125, 118, 128,
-
- 128, 299, 117, 129, 120, 126, 299, 299, 122, 127,
- 123, 78, 124, 130, 131, 131, 133, 134, 132, 130,
- 135, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 137, 138, 299, 136, 139, 299, 299, 143, 145,
- 147, 142, 144, 146, 299, 150, 141, 149, 153, 299,
- 140, 299, 148, 299, 299, 299, 152, 151, 299, 299,
- 299, 299, 299, 299, 299, 158, 299, 155, 299, 299,
- 159, 299, 299, 157, 161, 299, 162, 154, 167, 299,
- 299, 156, 163, 299, 299, 164, 173, 160, 168, 166,
- 175, 169, 170, 171, 299, 299, 172, 178, 178, 299,
-
- 299, 179, 299, 174, 176, 299, 177, 299, 299, 299,
- 299, 299, 180, 183, 299, 182, 299, 299, 299, 299,
- 299, 299, 186, 299, 184, 299, 299, 181, 190, 299,
- 299, 187, 188, 185, 299, 191, 189, 196, 192, 194,
- 193, 299, 197, 201, 299, 202, 200, 195, 299, 199,
- 299, 198, 299, 299, 299, 299, 299, 204, 203, 299,
- 299, 299, 299, 299, 299, 299, 299, 209, 210, 213,
- 206, 299, 299, 208, 299, 299, 205, 299, 299, 299,
- 207, 222, 211, 217, 299, 212, 216, 220, 221, 215,
- 214, 219, 218, 223, 299, 299, 224, 228, 299, 230,
-
- 299, 299, 227, 299, 299, 299, 225, 299, 226, 299,
- 229, 299, 231, 299, 299, 299, 234, 299, 299, 299,
- 299, 299, 299, 299, 239, 299, 240, 299, 299, 232,
- 233, 235, 242, 236, 237, 246, 244, 241, 238, 299,
- 299, 247, 243, 248, 245, 299, 251, 299, 250, 299,
- 249, 299, 299, 252, 299, 299, 299, 255, 254, 299,
- 256, 299, 257, 299, 299, 299, 253, 299, 260, 259,
- 299, 299, 261, 299, 263, 258, 269, 266, 267, 299,
- 299, 299, 299, 262, 264, 299, 271, 299, 299, 299,
- 265, 270, 272, 268, 299, 299, 299, 299, 299, 277,
-
- 299, 299, 299, 299, 299, 299, 279, 275, 276, 273,
- 274, 281, 280, 282, 285, 278, 299, 299, 289, 299,
- 283, 290, 299, 299, 286, 284, 287, 299, 294, 299,
- 292, 288, 299, 299, 293, 299, 299, 291, 299, 299,
- 299, 298, 299, 295, 299, 299, 299, 299, 299, 296,
- 299, 299, 297, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 179, 179, 299, 299, 299,
- 299, 299, 299, 299, 299, 132, 132, 129, 129, 299,
- 299, 299, 81, 81, 299, 299, 33, 299, 34, 33,
-
- 30, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299
- } ;
-
- static short int c[641] =
- { 0,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 7,
- 10, 7, 10, 12, 10, 13, 14, 15, 16, 17,
- 10, 18, 300, 19, 13, 12, 20, 298, 115, 17,
- 15, 21, 14, 24, 15, 13, 19, 12, 13, 14,
- 16, 18, 17, 20, 13, 14, 22, 18, 21, 14,
- 16, 16, 23, 24, 21, 22, 24, 25, 26, 27,
- 28, 115, 23, 22, 32, 29, 32, 26, 32, 26,
-
- 25, 33, 27, 33, 32, 36, 41, 36, 39, 33,
- 25, 23, 26, 36, 28, 27, 38, 26, 29, 37,
- 37, 39, 40, 37, 42, 38, 43, 44, 45, 41,
- 46, 47, 48, 40, 49, 51, 50, 56, 53, 52,
- 44, 55, 54, 58, 57, 60, 48, 43, 50, 61,
- 45, 47, 52, 54, 56, 59, 42, 54, 46, 53,
- 49, 57, 62, 51, 55, 63, 64, 65, 60, 67,
- 59, 58, 54, 66, 68, 61, 65, 69, 70, 71,
- 73, 61, 59, 63, 72, 297, 76, 70, 74, 62,
- 66, 83, 82, 66, 64, 71, 67, 74, 69, 77,
-
- 77, 84, 68, 77, 70, 74, 85, 87, 72, 76,
- 72, 78, 73, 78, 79, 79, 82, 83, 79, 78,
- 84, 88, 89, 90, 91, 92, 93, 95, 96, 94,
- 101, 87, 88, 103, 85, 89, 98, 97, 92, 93,
- 95, 91, 92, 94, 102, 98, 90, 97, 103, 104,
- 89, 105, 96, 106, 107, 108, 102, 101, 109, 110,
- 113, 111, 112, 114, 118, 108, 116, 105, 125, 117,
- 109, 119, 123, 107, 111, 124, 112, 104, 117, 120,
- 121, 106, 113, 122, 133, 114, 123, 110, 118, 116,
- 125, 119, 120, 121, 127, 126, 122, 130, 130, 134,
-
- 135, 130, 136, 124, 126, 138, 127, 140, 141, 142,
- 143, 149, 133, 136, 144, 135, 147, 145, 146, 150,
- 151, 153, 141, 155, 138, 157, 158, 134, 145, 154,
- 159, 142, 143, 140, 161, 146, 144, 153, 147, 150,
- 149, 162, 154, 159, 163, 161, 158, 151, 164, 157,
- 166, 155, 167, 168, 169, 170, 171, 163, 162, 172,
- 173, 174, 175, 181, 176, 182, 180, 169, 170, 173,
- 166, 183, 185, 168, 190, 184, 164, 191, 193, 186,
- 167, 185, 171, 180, 187, 172, 176, 183, 184, 175,
- 174, 182, 181, 186, 188, 189, 187, 191, 192, 193,
-
- 194, 196, 190, 200, 197, 202, 188, 201, 189, 206,
- 192, 207, 194, 208, 203, 210, 200, 212, 214, 211,
- 217, 215, 218, 219, 207, 213, 208, 221, 216, 196,
- 197, 201, 211, 202, 203, 215, 213, 210, 206, 222,
- 227, 215, 212, 216, 214, 224, 219, 228, 218, 229,
- 217, 230, 231, 221, 232, 235, 238, 227, 224, 233,
- 228, 237, 229, 240, 244, 245, 222, 247, 232, 231,
- 246, 248, 233, 249, 237, 230, 247, 244, 245, 250,
- 251, 254, 253, 235, 238, 255, 249, 257, 259, 260,
- 240, 248, 250, 246, 268, 262, 264, 269, 282, 257,
-
- 261, 270, 273, 278, 276, 279, 260, 254, 255, 251,
- 253, 262, 261, 264, 270, 259, 283, 284, 279, 287,
- 268, 282, 286, 289, 273, 269, 276, 290, 287, 295,
- 284, 278, 294, 296, 286, 293, 292, 283, 291, 288,
- 285, 295, 281, 289, 280, 277, 275, 274, 272, 290,
- 271, 267, 294, 266, 265, 263, 258, 256, 252, 243,
- 242, 241, 239, 236, 234, 226, 225, 223, 220, 209,
- 205, 204, 199, 198, 195, 179, 178, 177, 165, 160,
- 156, 152, 148, 139, 137, 132, 131, 129, 128, 100,
- 99, 86, 81, 80, 75, 35, 31, 11, 9, 8,
-
- 2, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299
- } ;
-
-
- /* these declarations have to come after the section 1 code or lint gets
- * confused about whether the variables are used
- */
- FILE *yyin = stdin, *yyout = stdout;
-
- /* these variables are all declared out here so that section 3 code can
- * manipulate them
- */
- static int yy_start, yy_b_buf_p, yy_c_buf_p, yy_e_buf_p;
- static int yy_saw_eof, yy_init = 1;
-
- /* yy_ch_buf has to be 1 character longer than YY_BUF_SIZE, since when
- * setting up yytext we can try to put a '\0' just past the end of the
- * matched text
- */
- static char yy_ch_buf[YY_BUF_SIZE + 1];
- static int yy_st_buf[YY_BUF_SIZE];
- static char yy_hold_char;
-
- static char input( void) ;
- static void unput( char) ;
-
- char *yytext;
- static int yyleng;
-
- /*--------------------------------------------------------------------------*/
- /*------------------------- BEGIN LEXICAL ANALYZER -------------------------*/
- /*--------------------------------------------------------------------------*/
-
- YY_DECL
- {
- int yy_n_chars, yy_lp, yy_iii, yy_buf_pos, yy_act;
- #ifdef FLEX_REJECT_ENABLED
- int yy_full_match;
- #endif
-
-
-
- if ( yy_init )
- {
- YY_INIT;
- yy_start = 1;
- yy_init = 0;
- }
-
- goto get_next_token;
-
- do_action:
-
- #ifdef FLEX_REJECT_ENABLED
- /* remember matched text in case we back up due to trailing context */
- yy_full_match = yy_c_buf_p;
- #endif
-
- for ( ; ; )
- {
- YY_DO_BEFORE_ACTION
-
- #ifdef FLEX_DEBUG
- fprintf( stderr, "--accepting rule #%d\n", yy_act );
- #endif
- switch ( yy_act )
- {
- case 1:
- {WriteVerbatim(yytext);};
- YY_BREAK
- case 2:
- {};
- YY_BREAK
- case 3:
- {};
- YY_BREAK
- case 4:
- {return handlehash();}
- YY_BREAK
- case 5:
- {skipcomments();}
- YY_BREAK
- case 6:
- {return(tADAPTIVE);}
- YY_BREAK
- case 7:
- {return(tAPERTURE);}
- YY_BREAK
- case 8:
- {return(tBACKGROUND);}
- YY_BREAK
- case 9:
- {return(tBLOTCH);}
- YY_BREAK
- case 10:
- {return(tBOX);}
- YY_BREAK
- case 11:
- {return(tBUMP);}
- YY_BREAK
- case 12:
- {return(tCHECKER);}
- YY_BREAK
- case 13:
- {return(tCONE);}
- YY_BREAK
- case 14:
- {return(tCONTRAST);}
- YY_BREAK
- case 15:
- {return(tCUTOFF);}
- YY_BREAK
- case 16:
- {return(tCYL);}
- YY_BREAK
- case 17:
- {return(tENDDEF);}
- YY_BREAK
- case 18:
- {return(tSTARTDEF);}
- YY_BREAK
- case 19:
- {return(tDIRECTIONAL);}
- YY_BREAK
- case 20:
- {return(tENDFILE);}
- YY_BREAK
- case 21:
- {return(tEXTENDED);}
- YY_BREAK
- case 22:
- {return(tEYEP);}
- YY_BREAK
- case 23:
- {return(tFBM);}
- YY_BREAK
- case 24:
- {return(tFBMBUMP);}
- YY_BREAK
- case 25:
- {return(tFOCALDIST);}
- YY_BREAK
- case 26:
- {return(tFOG);}
- YY_BREAK
- case 27:
- {return(tFOV);}
- YY_BREAK
- case 28:
- {return(tGLOSS);}
- YY_BREAK
- case 29:
- {return(tGRID);}
- YY_BREAK
- case 30:
- {return(tHEIGHTFIELD);}
- YY_BREAK
- case 31:
- {return(tJITTERED);}
- YY_BREAK
- case 32:
- {return(tLIGHT);}
- YY_BREAK
- case 33:
- {return(tLIST);}
- YY_BREAK
- case 34:
- {return(tLOOKP);}
- YY_BREAK
- case 35:
- {return(tMARBLE);}
- YY_BREAK
- case 36:
- {return(tMAXDEPTH);}
- YY_BREAK
- case 37:
- {return(tMIST);}
- YY_BREAK
- case 38:
- {return(tOBJECT);}
- YY_BREAK
- case 39:
- {return(tOUTFILE);}
- YY_BREAK
- case 40:
- {return(tPLANE);}
- YY_BREAK
- case 41:
- {return(tPOINT);}
- YY_BREAK
- case 42:
- {return(tPOLY);}
- YY_BREAK
- case 43:
- {return(tRESOLUTION);}
- YY_BREAK
- case 44:
- {return(tROTATE);}
- YY_BREAK
- case 45:
- {return(tSAMPLES);}
- YY_BREAK
- case 46:
- {return(tSCALE);}
- YY_BREAK
- case 47:
- {return(tSCREEN);}
- YY_BREAK
- case 48:
- {return(tSPHERE);}
- YY_BREAK
- case 49:
- {return(tSUPERQ);}
- YY_BREAK
- case 50:
- {return(tSURFACE);}
- YY_BREAK
- case 51:
- {return(tTEXTURE);}
- YY_BREAK
- case 52:
- {return(tTRANSFORM);}
- YY_BREAK
- case 53:
- {return(tTRANSLATE);}
- YY_BREAK
- case 54:
- {return(tTRIANGLE);}
- YY_BREAK
- case 55:
- {return(tUP);}
- YY_BREAK
- case 56:
- {return(tWOOD);}
- YY_BREAK
- case 57:
- {yylval.c = strsave(yytext);
- return(tSTRING);}
- YY_BREAK
- case 58:
- {yylval.i = atoi(yytext);
- return(tINT);}
- YY_BREAK
- case 59:
- case 60:
- case 61:
- {yylval.d = atof(yytext); return(tFLOAT);}
- YY_BREAK
- case 62:
- {return yytext[0];}
- YY_BREAK
- case 63:
- YY_DEFAULT_ACTION;
- YY_BREAK
-
- case YY_NEW_FILE:
- break; /* begin reading from new file */
-
- case YY_END_TOK:
- return ( YY_END_TOK );
-
- default:
- YY_FATAL_ERROR( "fatal flex scanner internal error" );
- }
-
- get_next_token:
- {
- register int yy_curst;
- register char yy_sym;
-
- YY_DO_BEFORE_SCAN
-
- /* set up to begin running DFA */
-
- yy_curst = yy_start;
-
- if ( yy_ch_buf[yy_c_buf_p] == '\n' )
- ++yy_curst;
-
- /* yy_b_buf_p points to the position in yy_ch_buf
- * of the start of the current run.
- */
-
- yy_b_buf_p = yy_c_buf_p + 1;
-
- do /* until the machine jams */
- {
- if ( yy_c_buf_p == yy_e_buf_p )
- { /* need more input */
- if ( yy_e_buf_p >= YY_BUF_LIM )
- { /* not enough room to do another read */
- /* see if we can make some room for more chars */
-
- yy_n_chars = yy_e_buf_p - yy_b_buf_p;
-
- if ( yy_n_chars >= 0 )
- /* shift down buffer to make room */
- for ( yy_iii = 0; yy_iii <= yy_n_chars; ++yy_iii )
- {
- yy_buf_pos = yy_b_buf_p + yy_iii;
- yy_ch_buf[yy_iii] = yy_ch_buf[yy_buf_pos];
- yy_st_buf[yy_iii] = yy_st_buf[yy_buf_pos];
- }
-
- yy_b_buf_p = 0;
- yy_e_buf_p = yy_n_chars;
-
- if ( yy_e_buf_p >= YY_BUF_LIM )
- YY_FATAL_ERROR( "flex input buffer overflowed" );
-
- yy_c_buf_p = yy_e_buf_p;
- }
-
- else if ( yy_saw_eof )
- {
- saweof: if ( yy_b_buf_p > yy_e_buf_p )
- {
- if ( yywrap() )
- {
- yy_act = YY_END_TOK;
- goto do_action;
- }
-
- else
- {
- YY_INIT;
- yy_act = YY_NEW_FILE;
- goto do_action;
- }
- }
-
- else /* do a jam to eat up more input */
- {
- #ifndef FLEX_INTERACTIVE_SCANNER
- /* we're going to decrement yy_c_buf_p upon doing
- * the jam. In this case, that's wrong, since
- * it points to the last non-jam character. So
- * we increment it now to counter the decrement.
- */
- ++yy_c_buf_p;
- #endif
- break;
- }
- }
-
- YY_INPUT( (yy_ch_buf + yy_c_buf_p + 1), yy_n_chars,
- YY_MAX_LINE );
-
- if ( yy_n_chars == YY_NULL )
- {
- if ( yy_saw_eof )
- YY_FATAL_ERROR( "flex scanner saw EOF twice - shouldn't happen" );
- yy_saw_eof = 1;
- goto saweof;
- }
-
- yy_e_buf_p += yy_n_chars;
- }
-
- ++yy_c_buf_p;
-
- #ifdef FLEX_USE_ECS
- yy_sym = e[yy_ch_buf[yy_c_buf_p]];
- #else
- yy_sym = yy_ch_buf[yy_c_buf_p];
- #endif
-
- #ifdef FLEX_FULL_TABLE
- yy_curst = n[yy_curst][yy_sym];
-
- #else /* get next state from compressed table */
-
- while ( c[b[yy_curst] + yy_sym] != yy_curst )
- {
- yy_curst = d[yy_curst];
-
- #ifdef FLEX_USE_MECS
- /* we've arrange it so that templates are never chained
- * to one another. This means we can afford make a
- * very simple test to see if we need to convert to
- * yy_sym's meta-equivalence class without worrying
- * about erroneously looking up the meta-equivalence
- * class twice
- */
-
- if ( yy_curst >= YY_TEMPLATE )
- yy_sym = m[yy_sym];
- #endif
- }
-
- yy_curst = n[b[yy_curst] + yy_sym];
-
- #endif
-
- yy_st_buf[yy_c_buf_p] = yy_curst;
-
- }
- #ifdef FLEX_INTERACTIVE_SCANNER
- while ( b[yy_curst] != YY_JAM_BASE );
- #else
- while ( yy_curst != YY_JAM );
- --yy_c_buf_p; /* put back character we jammed on */
-
- #endif
-
- if ( yy_c_buf_p >= yy_b_buf_p )
- { /* we matched some text */
- yy_curst = yy_st_buf[yy_c_buf_p];
- yy_lp = l[yy_curst];
-
- #ifdef FLEX_REJECT_ENABLED
- find_rule: /* we branch to this label when doing a REJECT */
- #endif
-
- for ( ; ; ) /* until we find what rule we matched */
- {
- #ifdef FLEX_REJECT_ENABLED
- if ( yy_lp && yy_lp < l[yy_curst + 1] )
- {
- yy_act = a[yy_lp];
- goto do_action; /* "continue 2" */
- }
- #else
- if ( yy_lp )
- {
- yy_act = yy_lp;
- goto do_action; /* "continue 2" */
- }
- #endif
-
- if ( --yy_c_buf_p < yy_b_buf_p )
- break;
-
- yy_curst = yy_st_buf[yy_c_buf_p];
- yy_lp = l[yy_curst];
- }
- }
-
- YY_FATAL_ERROR( "no match in flex scanner - possible NULL in input" );
- }
- }
-
- /*NOTREACHED*/
- }
-
-
- static void unput( c )
- char c;
- {
- register int i;
- register int yy_buf_pos ;
-
- YY_DO_BEFORE_SCAN; /* undo effects of setting up yytext */
-
- if ( yy_c_buf_p == 0 )
- {
- yy_buf_pos = YY_BUF_MAX ;
- for ( i = yy_e_buf_p; i >= yy_c_buf_p; --i )
- {
- yy_ch_buf[yy_buf_pos] = yy_ch_buf[i];
- yy_st_buf[yy_buf_pos] = yy_st_buf[i];
- --yy_buf_pos;
- }
-
- yy_c_buf_p = YY_BUF_MAX - yy_e_buf_p;
- yy_e_buf_p = YY_BUF_MAX;
- }
-
- if ( yy_c_buf_p <= 0 )
- YY_FATAL_ERROR( "flex scanner push-back overflow" );
-
- if ( yy_c_buf_p >= yy_b_buf_p && yy_ch_buf[yy_c_buf_p] == '\n' )
- yy_ch_buf[yy_c_buf_p - 1] = '\n';
-
- yy_ch_buf[yy_c_buf_p--] = c;
-
- YY_DO_BEFORE_ACTION; /* set up yytext again */
-
- }
-
-
- static char input( void)
- {
- char c;
-
- YY_DO_BEFORE_SCAN
-
- if ( yy_c_buf_p == yy_e_buf_p )
- { /* need more input */
- int yy_n_chars;
-
- /* we can throw away the entire current buffer */
- if ( yy_saw_eof )
- {
- if ( yywrap() )
- return ( EOF );
-
- YY_INIT;
- }
-
- yy_b_buf_p = 0;
- YY_INPUT( yy_ch_buf, yy_n_chars, YY_MAX_LINE );
-
- if ( yy_n_chars == YY_NULL )
- {
- yy_saw_eof = 1;
-
- if ( yywrap() )
- return ( EOF );
-
- YY_INIT;
-
- return ( input() );
- }
-
- yy_c_buf_p = -1;
- yy_e_buf_p = yy_n_chars - 1;
- }
-
- c = (unsigned char) yy_ch_buf[++yy_c_buf_p];
-
- YY_DO_BEFORE_ACTION;
-
- return ( c );
- }
-
- /*--------------------------------------------------------------------------*/
- /*------------------------- END OF LEXICAL ANALYZER ------------------------*/
- /*--------------------------------------------------------------------------*/
-
-
- yywrap() {return(1);}
- /*
- * Skip over comments.
- */
- skipcomments()
- {
- char c;
-
- WriteVerbatim("/*");
- while (1) {
- while ((c = input()) != '*')
- WriteChar(c);
- WriteChar(c);
- if ((c = input()) == '/') {
- WriteChar(c);
- WriteNewline();
- return;
- }
- unput(c);
- }
- }
- /*
- * Deal with ccp-produced lines of the form:
- * # n "filename"
- * and
- * # n
- * Where filename is the name of the file being processed, and n is
- * the current line number in that file.
- */
- handlehash()
- {
- char buf[BUFSIZ];
- int i, linenumber;
- extern int yylineno;
- extern char yyfilename[];
-
- /*
- * Read the entire line into buf.
- */
- for (i = 0; (buf[i] = input()) != '\n'; i++)
- ;
- unput(buf[i]); /* To make sure consecutive # lines work. */
- buf[i] = (char)NULL; /* Replace newline with NULL. */
-
- yylval.c = strsave(buf);
-
- /*
- * Set file/line if the line was of the form #n "filename"
- */
- if ((i = sscanf(buf, "%d \"%[^\"]s\"", &linenumber, buf)) != 0) {
- yylineno = linenumber;
- #ifdef SYSV
- if (strchr(buf, '"') != (char *)0) {
- #else
- if (index(buf, '"') != (char *)0) {
- #endif
- /*
- * Filename was "", which means stdin.
- */
- strcpy(yyfilename, "stdin");
- } else
- strcpy(yyfilename, buf);
- }
- return tHASHTHING;
- }
-